package com.fy.common.enums;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * Provide readable value to determine channel type.
 *
 * @author Muhammad Azis
 */
@Getter
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public enum ChannelType implements BaseEnum {

    PRIVATE(1, "", "","私聊"),
    GROUP(2, "have been added into the group", "","群组"),
    CHANNEL(3, "joined the channel", "","频道"),
//    ADMIN(3, "joined the channel", "","官方"),
    SECRET_PRIVATE(5, "", "","私密聊天");

    private final int value;
    private final String addMessage;
    private final String removeMessage;
    private final String desc;




    @Override
    public Object getValidatorValue() {
        return value;
    }

    /**
     * 频道子类型,只有当ChannType为CHANNEL时才有子类型
     */
    @Getter
    @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
//    @SwaggerDisplayEnum
    public enum SubType{
        PRIVATE_SUBTYPE(1,"私密频道"),
        PUBLIC_SUBTYPE(2,"公开频道");

        private final int value;
        private final String desc;


    }
}
